1
Bản tóm tắt hiệu suất khóa học
DSAI2202Lab 5: Grouping and Summarising Data

Bộ phận đào tạo của UniLearn cần một báo cáo hiệu suất khóa học cho học kỳ năm 2026 giả định. Hãy tổng hợp các lượt đăng ký đang học, bao gồm cả những sinh viên chưa có điểm.

Chuẩn bị dữ liệu PostgreSQL của bạn

  1. Mở cơ sở dữ liệu thực hành của bạn trong pgAdmin Query Tool. Bật Auto-commit .
  2. Chọn Open File và chọn tệp được cung cấp riêng lab5_setup.sql.
  3. Thực thi toàn bộ tệp. Tệp sẽ chọn schema lab5 . Trong cùng Query Tool đó, sao chép truy vấn kiểm tra từ Code và xác nhận có 36 dòng.

Một dòng có ý nghĩa gì?

Một dòng là một lượt đăng ký của một sinh viên trong một khóa học. S101 học ba khóa học, nên S101 xuất hiện ba lần. Số lượt đăng ký và số sinh viên có thể khác nhau.

Xây dựng báo cáo của bộ phận đào tạo

  • Đếm số lượt đăng ký, số điểm đã ghi nhận và số sinh viên riêng biệt.
  • Tính tổng và giá trị trung bình cho từng khóa học.
  • Giữ lại các khóa học thỏa mãn các điều kiện tổng hợp được yêu cầu.
💡 Đọc trước khi tổng hợp
NULL nghĩa là chưa có điểm được ghi nhận; 0 là một điểm đã được ghi nhận. Các lượt đăng ký đã rút vẫn còn trong bảng nhưng bị loại khỏi báo cáo.

Xem trước: 12 trong số 36 lượt đăng ký đầu tiên

Bảng enrolments đầy đủ chứa 20 sinh viên riêng biệt thuộc sáu khóa học. Sáu dòng đã rút sẽ bị lọc khỏi báo cáo. Hãy chạy truy vấn kiểm tra để xem tất cả 36 dòng.

Lượt đăng kýSinh viênChương trìnhKhóa họcTrạng tháiĐiểmGiờ
E01S101DSAISQL101active806
E02S102CSSQL101active604
E03S103DSAISQL101activeNULL5
E04S104ITSQL101withdrawn902
E05S101DSAIPY101active908
E06S105CSPY101active506
E07S106DSAIPY101active707
E08S107ITPY101activeNULL3
E09S102CSVIS101active404
E10S108DSAIVIS101activeNULL2
E11S109ITVIS101withdrawn1001
E12S110ITVIS101active01

Đọc các cột

  • enrolment_id định danh một lượt đăng ký; student_id có thể lặp lại.
  • score là điểm trên thang 100, hoặc NULL nếu chưa được ghi nhận.
  • study_hours ghi lại số giờ cho lượt đăng ký này.
💡 Cú pháp PostgreSQL
Giá trị văn bản dùng dấu nháy đơn. Số và NULL của SQL thì không. Kết thúc mỗi câu lệnh bằng dấu chấm phẩy.